package com.mhfelipe.sandbox.rest.stubs.repositorio;

import com.google.common.collect.ImmutableMap;
import com.mhfelipe.sandbox.rest.api.entidade.Usuario;
import com.mhfelipe.sandbox.rest.api.repositorio.Usuarios;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class UsuariosEmMemoria implements Usuarios {

    private final Map<String, Usuario> storage;

    public UsuariosEmMemoria() {
        storage = ImmutableMap.<String, Usuario>builder()
                .put("jh", new Usuario("jh", "James Hetfield", "guitarra", true))
                .put("lu", new Usuario("lu", "Lars Ulrich", "bateria", true))
                .put("lg", new Usuario("lg", "Lloyd Grant", "guitarra", false))
                .put("dm", new Usuario("dm", "Dave Mustaine", "guitarra", false))
                .put("kh", new Usuario("km", "Kirk Hammett", "guitarra", true))
                .put("rm", new Usuario("rm", "Ron McGovney", "baixo", false))
                .put("cb", new Usuario("cb", "Cliff Burton", "baixo", false))
                .put("jn", new Usuario("jn", "Jason Newsted", "baixo", false))
                .put("rt", new Usuario("rt", "Robert Trujillo", "baixo", true))
                .build();
    }

    @Override
    public Usuario comLogin(String login) {
        return storage.get(login);
    }

    @Override
    public List<Usuario> todos() {
        return new ArrayList<Usuario>(storage.values());
    }

}
